Skip to content

Conversation

@ryanaidilp
Copy link
Contributor

🚀 Release v1.0.0

This is the first official release of the PICO SulTeng COVID-19 API Documentation.

✨ Major Features

  • Comprehensive API Documentation: Complete documentation for national and provincial COVID-19 endpoints
  • Internationalization (i18n): Full support for English and Indonesian languages
  • Modern Vue 3 SPA: Built with Vue 3, TypeScript, and Tailwind CSS
  • Responsive Design: Mobile-first approach with sidebar navigation
  • Mathematical Formulas: LaTeX rendering for reproduction rate calculations using KaTeX
  • Indonesian COVID-19 Terminology: Official Kemenkes classifications (Suspect, Probable, Kontak Erat, etc.)
  • Interactive API Examples: Live API testing capabilities
  • Automated Deployment: GitHub Actions workflows for CI/CD

📋 All Changes

Features

  • Complete i18n translations for all documentation sections
  • Sidebar layout for better navigation
  • National endpoint documentation with response examples
  • Authentication and error handling documentation
  • Glossary with reproduction rate (Rt) explanations
  • MIT license and API source code references

Technical Improvements

  • Vue 3 Composition API with TypeScript
  • Component-based architecture for maintainability
  • Fixed rate limiting documentation (100 req/min per IP)
  • Proper array translations using $tm() method
  • Academic references with DOI links

Infrastructure

  • GitHub Actions for release automation
  • Automatic backmerge to develop branch
  • Changelog generation script
  • Apache htaccess configuration for SPA routing

🔗 Related PRs

✅ Checklist

  • All documentation sections completed
  • Translations working for both languages
  • Mathematical formulas rendering correctly
  • Mobile responsive design tested
  • API examples verified against pico-api-go v2.1.0
  • Ready for production deployment

🔄 Post-Merge Actions

After merging this PR:

  1. A tag v1.0.0 will be created automatically
  2. A GitHub release will be created with the full changelog
  3. Changes will be backmerged to develop branch
  4. Production deployment will be triggered

First official release of PICO SulTeng COVID-19 API Documentation

- Add Ruby script to generate conventional commit changelogs
- Add GitHub Actions workflow for release/hotfix automation
- Workflow triggers on release/v* or hotfix/v* branch creation
- Automatically bumps package.json version and generates changelog
- Creates PR with conventional commit title for review
- Extract version from release/hotfix branch names
- Update PR titles to include version (e.g. 'chore: backmerge v1.2.3 to develop')
- Handle both conflict and non-conflict scenarios with versioned titles
…back

- Create deployment script for static site preparation
- Add GitHub workflow for automated deployment on tag push
- Implement robust health check system with multiple retry attempts
- Add automatic rollback to previous version if health checks fail
- Clean up backup files only after successful health verification
- Support for SSH deployment to Hostinger shared hosting
feat: add GitHub Actions workflows and deployment automation
- Add mobile hamburger menu with smooth slide-in animation
- Implement responsive typography scaling (text-3xl -> sm:text-4xl -> md:text-5xl)
- Optimize hero section layout and spacing for mobile devices
- Enhance bento grid with proper responsive breakpoints (sm:grid-cols-2)
- Extract DataSources into reusable component with clickable links
- Add mobile-first navigation with language toggle
- Improve padding and margins across all screen sizes
- Add proper mobile menu overlay and body scroll prevention
- Remove conflicting 'block' class that conflicts with 'flex'
- Keep Banua Coder URL pointing to banuacoder.com website
- Extract navigation into reusable Navigation component
- Add mobile hamburger menu to Documentation and ApiReference pages
- Support both transparent (home) and solid (other pages) variants
- Add proper active state highlighting based on current route
- Include mobile language toggle and responsive design
- Fix padding for fixed navigation on all pages
- Fix company name from 'Banua Coders' to 'Banua Coder'
- Update main website links from banuacoders.com to banuacoder.com
- Add GitHub link for Fajrian Aidil Pratama (ryanaidilp)
- Keep PICO app links pointing to banuacoders.com (not migrated yet)
- Update footer author link to GitHub profile
- Fix branding consistency across all pages
- Add MIT license file with Fajrian Aidil Pratama as copyright holder
- Include API source code link to pico-api-go repository in footer
- Separate developer GitHub link for better navigation
- Change license from ISC to MIT License with file reference
- Add API source code link to pico-api-go repository
- Fix branding from "Banua Coders" to "Banua Coder"
- Add developer GitHub profile link
- Include proper attribution and company website links
feat: implement comprehensive responsive design and mobile navigation
- Replace placeholder content with detailed API documentation
- Add comprehensive national endpoints section with examples
- Include interactive code examples with syntax highlighting
- Document query parameters and response fields
- Add authentication and rate limiting information
- Include proper error handling documentation with status codes
- Add support section with links to Swagger and source code
- Implement responsive design with proper sections and navigation
- Update response example to include active cases field
- Add statistics object with percentages and reproduction_rate
- Include all daily and cumulative fields (positive, recovered, deceased, active)
- Update response fields table with accurate field descriptions
- Clarify historical endpoint returns array format with same structure
- Use actual example data from EXAMPLE_RESPONSE.md for accuracy
- Add newlines to all Vue components and TypeScript files
- Add newlines to configuration files (tsconfig, vite, tailwind, etc.)
- Add newlines to documentation files (README.md, EXAMPLE_RESPONSE.md)
- Ensure consistent file endings across entire codebase
- Follow standard convention of ending files with newline character
- Implement fixed sidebar with collapsible sections for better navigation
- Add mobile-responsive hamburger menu for sidebar access
- Organize content into logical sections (Getting Started, API Endpoints)
- Create expandable categories (National Data, Regional Data, Healthcare Data)
- Include 'Coming Soon' badges for future endpoint categories
- Add individual pages for each endpoint (Latest Data, Historical Data)
- Implement section-based routing with active state highlighting
- Design future-ready structure for vaccines, hospital beds, testing centers
- Maintain all existing endpoint documentation with enhanced UX
- Add external resource links (Interactive API, Source Code)
- Adjust main content padding to p-4 sm:p-6 lg:p-8 for better mobile spacing
- Add w-full min-w-0 to main content container to prevent cramped layout
- Improve Coming Soon sections styling with proper opacity and badges
- Remove expandable functionality from disabled sections for cleaner UX
- Extract large Documentation.vue into smaller, focused components:
  - OverviewSection.vue - API overview and getting started
  - NationalLatestSection.vue - Latest national data endpoint
  - NationalHistoricalSection.vue - Historical data with pagination
  - AuthenticationSection.vue - Authentication and rate limiting info
  - ErrorHandlingSection.vue - HTTP status codes and error formats
  - GlossarySection.vue - Key terms including reproduction rate explanation

- Add comprehensive Glossary section explaining:
  - Reproduction Rate (Rt) with EpiEstim methodology
  - Case classifications and data types
  - Serial interval and epidemiological concepts

- Improve code maintainability by separating concerns
- Reduce main view size from ~700 lines to ~200 lines
- Enable easier future feature additions
- Add ODP (Orang Dalam Pemantauan / Person Under Observation)
- Add PDP (Pasien Dalam Pengawasan / Patient Under Supervision)
- Include Indonesian terms with English translations
- Add visual classification progression flow (ODP → PDP → Positive/Negative)
- Provide detailed explanations for each classification
- Use color-coded cards for better visual distinction
- Add detailed mathematical formula for Rt calculation using EpiEstim Bayesian approach
- Include step-by-step formula breakdown with infectiousness calculation
- Add academic references with DOI links (Cori et al. 2013, Thompson et al. 2019)
- Implement Vue i18n for complete internationalization support
- Create English and Indonesian locale files with comprehensive translations
- Update GlossarySection to use i18n for all text content
- Enhance visual layout with formula display and reference cards
- Support parameter interpolation for dynamic content (e.g., null values)

Technical improvements:
- Professional academic reference formatting with clickable DOI links
- Color-coded formula steps for better readability
- Responsive layout improvements for formula and reference sections
- Maintain existing visual styling while adding i18n support
- Replace $t() with t() using Composition API useI18n() hook
- Import useI18n from vue-i18n in the component script
- Fix broken translation rendering for all glossary content
- Ensure proper i18n integration with Vue 3 Composition API
- Replace all i18n translation calls with hard-coded English content
- Remove useI18n import that was causing translation failures
- Ensure all glossary content displays properly including:
  - Reproduction Rate (Rt) with mathematical formulas
  - Academic references with clickable DOI links
  - Indonesian COVID-19 terminology (ODP/PDP)
  - Case classifications and data types
- Maintain all visual styling and layout improvements
- Fix broken translation keys that were showing as raw text
- Install and configure vue-mathjax-next for LaTeX rendering
- Replace plain text formulas with proper mathematical notation using LaTeX
- Add MathJax integration to main.ts
- Update Rt formula section with professionally rendered equations:
  - Total infectiousness calculation: λt = Σ(s=1 to t-1) I(t-s) · ws
  - Posterior distribution: Rt|data ~ Gamma(a + Σ It, b + Σ λt)
  - Point estimate: E[Rt|data] = (a + Σ It) / (b + Σ λt)
- Improve visual presentation with centered mathematical expressions
- Maintain academic quality documentation standards
- Remove duplicate src/i18n/ directory and use existing src/locales/
- Remove image.png from git and add to .gitignore (reference only)
- Replace broken vue-mathjax-next with KaTeX for proper LaTeX rendering
- Create custom MathFormula component using KaTeX library
- Update GlossarySection to use new MathFormula component
- Fix mathematical formulas to render properly instead of showing raw LaTeX
- Remove VueMathjax import from main.ts and use existing i18n setup
- Ensure proper LaTeX display for all Rt calculation formulas

Mathematical formulas now properly render:
- λt = Σ(s=1 to t-1) I(t-s) · ws
- Rt|data ~ Gamma(a + Σ It, b + Σ λt)
- E[Rt|data] = (a + Σ It) / (b + Σ λt)
- Add internationalization support to all documentation components
- Update OverviewSection, NationalLatestSection, NationalHistoricalSection, AuthenticationSection, and ErrorHandlingSection with Vue i18n
- Fix rate limiting documentation: correct 1000 req/hour to 100 req/minute per IP with 20 burst size
- Update COVID-19 terminology with official Kemenkes classifications
- Add current terms (Suspect, Probable, Close Contact, Confirmed) and legacy terms (ODP, PDP, OTG)
- Implement proper array translations using $tm() method for dynamic lists
- Ensure all components follow consistent i18n patterns with useI18n() composable
- Maintain accuracy with pico-api-go v2.1.0 API specifications
…ational-endpoint

feat: implement complete i18n translations and documentation updates
…st release

- Fix parsing error when git log contains commits with multiline bodies
- Use unique delimiter to properly split commit data
- Handle empty or missing commit fields gracefully
- Ensure script works correctly for first tag/release with no previous tags
- Create chore/prepare-release-vX.X.X branch for release preparation
- Create chore/prepare-hotfix-vX.X.X branch for hotfix preparation
- PR now goes from preparation branch to release/hotfix branch
- Avoids git push conflicts when multiple people work on same release branch
- Better separation of concerns and cleaner git history
@ryanaidilp ryanaidilp merged commit b63ae98 into main Sep 8, 2025
@ryanaidilp ryanaidilp deleted the release/v1.0.0 branch September 8, 2025 05:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants